<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>fill方法</title>
</head>
<body>
  <script>
    // fill方法使用给定值，填充一个数组
    ['a', 'b', 'c'].fill(7) // [7,7,7]
    new Array(3).fill(7)// [7,7,7]
    // 数组中已有的元素，会被全部抹去。
    // fill方法还可以接受第二个和第三个参数，用于指定填充的起始位置和结束位置
    ;['a', 'b', 'c'].fill(7,1,2) // ['a',7,'c']
    // 注意：如果填充的类型为对象，那么被赋值的是同一个内存地址的对象，而不是深拷贝对象
    var arr = new Array(3).fill({name: 'mike'})
    console.log(arr)
    arr[0].name = 'Ben'
    console.log(arr) // [{name: 'Ben'},{name: 'Ben'},{name: 'Ben'}]
    // 上面代码中被赋值的是同一个内存地址的对象，所以改变其中一个的name属性其余俩个都跟着改变！！1
  </script>
</body>
</html>